﻿namespace Sai.Core.Introspection
{
	using System;

	public interface ITypeDeclaration : IEquatable<ITypeDeclaration>, ISourceCodeProvider
	{
		TypeName TypeName { get; }

		TypeTaxonomy Taxonomy { get; }

		bool IsObsolete { get; }

		string ObsoleteReason { get; }

		// split out ???
		bool MatchesType(ITypeDeclaration other);
	}
}
